package com.cn.wanxi.util;

import java.sql.*;

/**
 * 1.加载驱动:利用反射加载驱动
 * 2.连接数据库
 * 3.编译sql语句
 * 4.执行sql语句
 * 5.返回结果
 */
public class JDBC {
    /**
     * 只是取的数据库连接
     *
     * @return
     */
    private static Connection getConnection() {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            String url = "jdbc:mysql://121.199.55.96:3306/canyin04";
            String user = "canyin04";
            String password = "123456";
            return DriverManager.getConnection(url, user, password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 连接数据库
     *
     * @param sql
     * @return
     */
    public static int excute(String sql) {
        //        连接数据库：1.加载jar包
        int result = 0;
        try {


//            PreparedStatement和Statement的区别？
            PreparedStatement preparedStatement = getConnection().prepareStatement(sql);
            result = preparedStatement.executeUpdate();//如果有影响行的数量，1表示成功，0表示失败
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return result;
    }

    public static ResultSet query(String sql) {
        //        连接数据库：1.加载jar包
        ResultSet result = null;
        try {
//            PreparedStatement和Statement的区别？
            PreparedStatement preparedStatement = getConnection().prepareStatement(sql);
            result = preparedStatement.executeQuery();//如果有影响行的数量，1表示成功，0表示失败
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return result;
    }
}
